Existing Internet Browsers present users formatted documents. Although there is enormous flexibility in the formatting of data as documents that may then be examined using an Internet browser, the owners of each Internet resource must determine, a priori, how data will be presented and develop an integrated system. Through emerging Semantic Web standards, conventional data sources, including, relational databases, flat files and excel spreadsheets, can have integral, automatic publication to the Internet in standardized representation. No user-facing formatting is required; whether the end user, or the developer. The resulting data and meta-data are easily input to computer programs.
The goals of Semantic Web technology include creating a structurally uniform representation of heterogeneous data, data models, and application domain models in a stack of computer languages, including at least RDF (resource description framework), RDFS, OWL (Web Ontology Language), and SPARQL also known as the Semantic Web stack. The Semantic Web as a computing process, architecture and form of organizing data has been described and implemented in various ways by the W3C (world wide web consortium), which is the industry group that maintains Internet protocol and data formatting standards. For more information on the semantic web, see “Semantic Web in Action”, Scientific American, December 2007, Feigenbaum et. al., incorporated herein by reference, RDF is a graph representation of data. RDFS and OWL provide richer means to encode structure and domain models and logic. The entire system is object-oriented entailing an inheritance structure RDFS and OWL inheriting from RDF. The entire stack is well grounded to integrate knowledge-based, and logic-based solutions to data integration, mining and analysis problems.
The invention uses these technologies as a foundation to extend interactive browsing of the Internet to one or more arbitrary semantically enabled data sources. The purpose of the invention is to enable existing OLAP graphical user interfaces, (i.e., those interfaces capable of typical OLAP operations such as slice, dice, drill-down and roll-up) to support exploration and analysis of arbitrary data sources on the Internet.
The central component of an OLAP system is a logical, often materialized, multidimensional hierarchical organization of data; called a cube. Cubes have schema analogous to relational databases having schema. The creation of application specific OLAP schema is a highly skilled, labor-intensive activity.
Conventional OLAP interfaces interoperate with systems that comprise a manually generated OLAP schema, a highly skilled, labor-intensive activity. This invention automates much of this activity. This invention, further, takes an OLAP schema, an existing OLAP system and provides the means for the interoperation of the existing OLAP system with semantically enabled data sources.
In one embodiment, the invention involves creating a data structure representing a mapping from the ontological representation of an arbitrary relational schema to a ontology in the generic form of ontologies derived from star schema; and Storing the data structure on one or more memory storage devices.
In another embodiment, the invention involves determining the ontological representation of a first relational database; Receiving data representing a selection of attributes from the determined ontological representation and their correspondence to attributes of a pre-determined star schema ontology template in order to populate a specific instance of the star schema template; Storing the received data; and Initializing an OLAP definition of an MAP cube using the populated star schema template.
In yet another embodiment, the invention involves receiving a database query from an OLAP system; and translating the received query to a graph query language representation using a populated star schema template.
In yet another embodiment, the invention involves translating the graph query language representation to another query representation that corresponds to the first relational database schema using the ontological representation of the first relational database; and Submitting the translated corresponding query to the first relational database.
In yet another embodiment, the invention involves initializing an OLAP definition of an OLAP cube using a populated star schema template derived from a correspondence between ontological representation of a first relational database and the attributes of the star schema template.